﻿#nullable enable

using System;

namespace PHMEE.EnergyEfficiency;

public class BunkerReportDto
{
    /// <summary>
    /// 时间戳（不展示）
    /// </summary>
    public DateTime Ts { get; private set; }

    /// <summary>
    /// 船舶 Id（不展示）
    /// </summary>
    public Guid Id { get; private set; }
    
    /// <summary>
    /// BND 号
    /// </summary>
    public string BunkerDeliveryNoteNumber { get; private set; }
    
    /// <summary>
    /// 日期（格式：2024-03-04）
    /// </summary>
    public DateOnly BunkerDeliveryDate { get; private set; }
    
    /// <summary>
    /// 时间（精确到分钟，格式：06:20:00）
    /// </summary>
    public TimeOnly BunkerDeliveryTime { get; private set; }
    
    /// <summary>
    /// 油品
    /// </summary>
    public FuelType FuelType { get; private set; }
    
    /// <summary>
    /// 量（t）
    /// </summary>
    public float Mass { get; private set; }
    
    /// <summary>
    /// 记录创建时间（UTC）
    /// </summary>
    public DateTime CreationTime { get; private set; }

    public BunkerReportDto(DateTime ts, Guid id, string bunkerDeliveryNoteNumber, DateOnly bunkerDeliveryDate, TimeOnly bunkerDeliveryTime, FuelType fuelType, float mass, DateTime creationTime)
    {
        Ts = ts;
        Id = id;
        BunkerDeliveryNoteNumber = bunkerDeliveryNoteNumber;
        BunkerDeliveryDate = bunkerDeliveryDate;
        BunkerDeliveryTime = bunkerDeliveryTime;
        FuelType = fuelType;
        Mass = mass;
        CreationTime = creationTime;
    }
}